We need to loop `N` times and read one command on each line. We'll use an `if/elif` block to determine the command type.
Guidance for Step 2
- Main Loop: The loop should run for the total number of operations, which is stored in the variable `N`.
- `add u v`: This is a **directed** edge. You need to access the adjacency list for user `u` and append user `v` to it.
- Sorted Neighbors: The problem guarantees that for any user `u`, `add` commands will have `v` in increasing order. This means `adj[u]` will automatically be sorted!
# Process all N operations
for _ in range(______):
# Read the command line and split it
line = input().split()
if not line:
continue
cmd = line[0]
if cmd == "add":
u, v = int(line[1]), int(line[2])
# Add a directed edge from u to v
# The problem guarantees they come in sorted order!
adj[______].append(______)
elif cmd == "dfs":
pass # We will fill this in next
elif cmd == "bfs":
pass # We will fill this in last
Copied!